package com.example.yunbiji0314.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class KuYuUtil implements WebMvcConfigurer {

    /**
     * 默认情况下 当前端使用axios发送 get post 请求时 默认情况下 js是不让你访问的
     * 这个时候前端会向后端发送一个 OPTIONS 预检请求 问问后端你是否允许我来进行 get post 请求
     *
     * 接下来前端会检查 我发的请求 post /note/addNote 是不是在允许的范围内
     * 如果在 则我接下来发起真实的 get post 请求
     */
    @Override
    public void addCorsMappings(org.springframework.web.servlet.config.annotation.CorsRegistry registry) {
        registry.addMapping("/**") //允许所有请求
                .allowedOrigins("*") //允许所有域名访问
                .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS") //允许所有请求方法
                .allowedHeaders("*") //允许所有请求头
                .maxAge(3600); //设置预检请求的有效期
    }
}

